GrowERP, hosted at https://github.com/growerp/growerp, is an open-source Enterprise Resource Planning (ERP) system designed to provide businesses with a flexible, scalable, and customizable solution for managing operations. Built using the Flutter framework, it offers a cross-platform front-end that runs seamlessly on Android, iOS, web browsers, Linux, and Windows. The system integrates with robust back-end frameworks like Moqui.org and Apache OFBiz, leveraging their capabilities to handle complex business processes. Below is an explanation of how GrowERP works, focusing on its architecture, functionality, and deployment.
At its core, GrowERP is a Flutter-based front-end application that connects to a back-end ERP system via a REST API. Flutter, developed by Google, allows GrowERP to maintain a single codebase that compiles natively across multiple platforms, ensuring consistent performance and user experience. The front-end is modular, with a "core" package containing essential ERP functions like task management, user administration, and basic workflows. Additional specialized applications, such as hotel management or e-commerce, can extend this core, making GrowERP adaptable to various industries, from small businesses like freelancers and restaurants to larger enterprises.
The back-end integration is where GrowERP’s power lies. It primarily supports two open-source ERP frameworks: Moqui.org and Apache OFBiz. Moqui is a Java-based framework designed for building enterprise applications, offering tools for database management, web services, and user interfaces. GrowERP’s Moqui back-end component (available at https://github.com/growerp/growerp-moqui) acts as the data and logic layer, processing requests from the Flutter front-end and managing databases (relational, graph, or document-based). Alternatively, the Apache OFBiz back-end (https://github.com/growerp/growerp-ofbiz) provides a comprehensive suite of business applications, including ERP, CRM, and e-commerce functionalities, which GrowERP leverages through a plugin. Users can configure the front-end to connect to either back-end by adjusting settings in the app_settings.json file, specifying the database URL and other parameters.
Functionally, GrowERP allows users to create a company profile upon installation, choosing between demo data or an empty system. After setup, an email with a login password is sent, granting access to the system. The interface provides modules for managing tasks, users, orders, invoices, payments, and more, all accessible via a responsive design that adjusts to different screen sizes. State management is handled using the Flutter Bloc library, ensuring efficient data flow and responsiveness, while automated integration tests cover significant portions of the app, enhancing reliability.
Deployment is straightforward but requires some technical setup. Users need Java (JDK 11) for the back-end, Flutter for the front-end, and tools like Git and Android Studio or VS Code for development. The GitHub repository provides detailed instructions: clone the repository, install dependencies (e.g., via flutter pub get), and build the app. The back-end can run locally or connect to a cloud-based instance (e.g., test.growerp.org). For production, the system at growerp.com demonstrates a live implementation, while growerp.org serves as a testing environment.
In summary, GrowERP combines Flutter’s cross-platform capabilities with Moqui or OFBiz’s enterprise-grade back-ends to deliver a versatile ERP solution. Its modular design, open-source nature, and active development make it a compelling choice for businesses seeking an affordable, customizable alternative to proprietary ERP systems.